package daily.oct1001;

import java.io.FileOutputStream;
import java.io.IOException;

//    一次写多个字节的方法:
//        - public void write(byte[] b)：将 b.length字节从指定的字节数组写入此输出流。
//        - public void write(byte[] b, int off, int len) ：
//          -- 从指定的字节数组写入len字节，
//          -- 从偏移量off开始输出到此输出流。
public class WriteMoreByteTest {
    public static void main(String[] args) throws IOException {
        //1.创建一个FileOutputStream对象，构造方法中传递数据的目的地
        FileOutputStream fos = new FileOutputStream("D:\\Development\\Developer\\Java\\Java_Projects\\J2SECourse\\src\\daily\\oct1001\\Out\\b.txt");
        //2.调用FileOutputStream对象中的方法write，把数据写入文件中
        //在文件中显示100

//        public void write(byte[] b)：将 b.length()个字节从指定的字节数组写入此输出流。
//        一次写多个字节:
//        如果写的第一个字节是正数(0-127),那么显示的时候会查询ASCII表
//        如果写的第一个字节是负数,那第一个字节会和第二个字节,两个字节组成一个中文显示,查询系统默认码表(GBK)

        byte[] array0 = {65,66,67,68,69};//ABCDE
        byte[] array1 = {-65,-66,-67,68,69};//烤紻E
        fos.write(array0);
        fos.write(array1);

//        public void write(byte[] b, int off, int len) ：把字节数组的一部分写入到文件中
//        int off:数组的开始索引
//        int len:写几个字节

        fos.write(array0,1,3);//写入下标从1到3的字节：BCD

//        写入字符的方法:可以使用String类中的方法把字符串,转换为字节数组
//        byte[] getBytes()  把字符串转换为字节数组

        byte[] array2 = "你好".getBytes();
        System.out.println();
        fos.write(array2);//浣犲ソ
    }
}
